home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / a_man / cat1 / kmem_debug.z / kmem_debug
Encoding:
Text File  |  2002-10-03  |  4.2 KB  |  133 lines

  1.  
  2.  
  3.  
  4. kkkkmmmmeeeemmmm____ddddeeeebbbbuuuugggg((((1111MMMM))))                                                  kkkkmmmmeeeemmmm____ddddeeeebbbbuuuugggg((((1111MMMM))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      kmem_debug - kernel memory debug module
  10.  
  11. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.      _k_m_e_m__d_e_b_u_g is a kernel memory debug module used to debug kernel memory.
  13.      It is intended to be used only by those involved in writing and debugging
  14.      device drivers or other parts of the kernel.
  15.  
  16.      To use _k_m_e_m__d_e_b_u_g, several steps must be taken to prepare the system:
  17.  
  18.      1.   _k_m_e_m__d_e_b_u_g must be manually installed by the user because it is not
  19.           installed on the system as shipped from the factory.  _k_m_e_m__d_e_b_u_g is
  20.           only available if eoe.sw.kdebug has been installed.
  21.  
  22.      2.   Alterations must be made to the file /_v_a_r/_s_y_s_g_e_n/_s_y_s_t_e_m/_i_r_i_x._s_m to
  23.           build a kernel capable of being debugged. _k_m_e_m must be replaced with
  24.           kmem_debug in the /_v_a_r/_s_y_s_g_e_n/_s_y_s_t_e_m/_i_r_i_x._s_m file.
  25.  
  26.           Specifically the line
  27.  
  28.           _I_N_C_L_U_D_E: _k_m_e_m
  29.  
  30.           must be changed to
  31.  
  32.           _I_N_C_L_U_D_E: _k_m_e_m__d_e_b_u_g
  33.  
  34.      3.   The program _a_u_t_o_c_o_n_f_i_g(1M) must be run to generate a new kernel, and
  35.           the system must be rebooted.
  36.  
  37.      There are three kernel tuneable parameters which direct the actions of
  38.      the kmem_debug module.
  39.  
  40.      1._k_m_e_m__m_a_k_e__z_o_n_e_s__p_r_i_v_a_t_e__m_i_n
  41.           This tuneable indicates the lower bound of the range of zones to
  42.           split.
  43.  
  44.      2._k_m_e_m__m_a_k_e__z_o_n_e_s__p_r_i_v_a_t_e__m_a_x
  45.           This tuneable indicates the upper bound of the range to split.  The
  46.           min and max tuneables split up the zones, but do not make them
  47.           private and do not show the structures which use those zones.  In
  48.           order to do that you may want to use _k_m_e_m__s_p_l_i_t__z_o_n_e.
  49.  
  50.      3._k_m_e_m__s_p_l_i_t__z_o_n_e
  51.           If you suspect there is a memory leak in a particular zone, set
  52.           kmem_split_zone to that zone size.  It makes the zone for that size
  53.           private. It shows a separate structure for each zone.  You must
  54.           remake the kernel and reboot for this tuneable to start working.
  55.           You may then use icrash to look at the zone, or run the tool
  56.           _m_e_m_l_e_a_k(1M) to generate a report indicating whether there are memory
  57.           leaks.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. kkkkmmmmeeeemmmm____ddddeeeebbbbuuuugggg((((1111MMMM))))                                                  kkkkmmmmeeeemmmm____ddddeeeebbbbuuuugggg((((1111MMMM))))
  71.  
  72.  
  73.  
  74. NNNNOOOOTTTTEEEESSSS
  75.      Zone memory consists of a number of zones of differing sizes.  Since
  76.      there is limited table space for zones, structures with sizes close to
  77.      each other are lumped together in the same zone.  For example, structures
  78.      that have a size of 712 bytes may be put into the zone listed as size
  79.      768.  In cases like this, you may need to know the exact size of the
  80.      structure you wish to split when using _k_m_e_m__s_p_l_i_t__z_o_n_e.  _k_m_e_m__s_p_l_i_t__z_o_n_e
  81.      should not be used with _k_m_e_m__m_a_k_e__z_o_n_e_s__p_r_i_v_a_t_e__m_a_x and
  82.      _k_m_e_m__m_a_k_e__z_o_n_e_s__p_r_i_v_a_t_e__m_i_n.  There is limited table space for zones and
  83.      using all three tuneables may result in the configuration of an
  84.      unbootable kernel.
  85.  
  86. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  87.      memleak(1M).
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.